"""
【第四题】
摇骰子猜大小游戏
1.模拟骰子：随机生成三个1-6的数字
2.三个骰子点数和为3~10为"小"
  三个骰子点数和为11~18为"大"
3.用户在键盘输入"大"或"小"，一轮结束，给出结果
4.可以无限玩，直到用户输入exit
  结束后统计用户玩的次数、胜率
扩展1：增加金豆系统，开始默认1000金豆
     猜对赢100金豆，猜错输100金豆，金豆低于100无法继续游戏
扩展2：增加礼品系统：赢三次送一个❤
"""

#random库调用  randint(a,b) 随机生成[a,b]之间的整数

import random

#设置金豆储存器
money = 1000

#设置爱心"♥"存储器
n = 0

#设置赢的次数的计数器
k = 0

#设置游戏次数计数器
j = 0

#初始界面
print("【摇骰子猜大小游戏】")
print("规则：三个骰子点数和为3~10为\"小\",三个骰子点数和为11~18为\"大\"")
print("(退出游戏请输入exit)")
print(f"金豆余额：{money}")
print(f"目前你拥有{n}颗\033[31m♥")
guess = input("\033[0m请输入你的猜想:（输入\"大\"或者\"小\"）")

while guess != "exit" and money >= 100:

    #模拟生成三颗骰子的点数
    a = random.randint(1,6)
    b = random.randint(1,6)
    c = random.randint(1,6)
    #计算点数之和
    sum = a + b + c

    #生成答案
    if sum >= 3 and sum <= 10:
        result = "小"
    else:
        result = "大"

    #判断
    if guess == result:
        print("恭喜你你猜对了！奖励你100金豆。")
        money = money + 100
        k = k + 1
        j = j + 1

    elif guess != result:

        if guess == exit:
            break
        elif guess == "大" or guess =="小":
            print("真遗憾你猜错了，扣除你100金豆。")
            money = money - 100
            j = j + 1

        else:
            print("请合法输入！")

    #赢了三次就送个礼品
    if k % 3 == 0 and k > 0:
        n += 1
        print("恭喜你赢了3局,获得一个礼品")

    print("---------------------------------------------------------")
    print("规则：三个骰子点数和为3~10为\"小\",三个骰子点数和为11~18为\"大\"")
    print("(退出游戏请输入exit)")
    print(f"金豆余额：{money}")
    print(f"目前你拥有{n}颗\033[31m♥")
    guess = input("\033[0m请输入你的猜想:（输入\"大\"或者\"小\"）")

if j != 0:
    winning_rate = k/j
else:
    winning_rate = 0

if money >= 100:
    print(f"游戏已结束！\n你一共猜了{j}次，你的胜率为%.2f%%"%(winning_rate*100))
else:
    print(f"金豆低于100，无法继续游戏，游戏结束！\n你一共猜了{j}次，你的胜率为%.2f%%"%(winning_rate*100))
